Clustering algorithms may be used to cluster a data set into two subsets, a representative subset of the data space and a residual subset. Such clustering algorithms may be used in image processing for data compression, in analytical modeling to identify a representative cluster that can be used as a training set for machine learning, or other applications. Typical clustering algorithms may produce a representative subset that does not cover all corner cases in the data set.